package com.imaker.frame.image

import android.content.Context
import android.widget.ImageView

/**
 * 图片接口，可实现扩展
 */
interface IImageLoaderDisplayer {
    /**
     * 加载apk资源文件图片
     */
    fun loadResourceImg(context: Context?, resId: Int, imageView: ImageView?)

    /**
     * 加载本地文件图片
     */
    fun loadLocalImg(
        context: Context?,
        file: String?,
        imageView: ImageView?,
        placeHolder: Int,
        errorHolder: Int
    )

    /**
     * 加载网络图片
     */
    fun loadNetImg(context: Context?, url: String?, imageView: ImageView?)

    /**
     * 加载网络图片,有监听
     */
    fun loadNetImg(context: Context?, url: String?, iImageLoadResult: IImageLoadResult?)

    /**
     * 加载网络图片(有默认图)
     */
    fun loadNetImg(
        context: Context?,
        url: String?,
        imageView: ImageView?,
        placeHolder: Int,
        errorHolder: Int
    )

    /**
     * 加载网络 圆角图片
     * @param dp 圆角弧度
     */
    fun loadRoundCornerImg(context: Context?, url: String?, imageView: ImageView?, dp: Int)

    /**
     * 加载本地 圆角图片
     * @param dp 圆角弧度
     */
    fun loadRoundCornerImg(context: Context?, url: Int, imageView: ImageView?, dp: Int)

    /**
     * 加载网络 圆角图片（有默认图）
     * @param dp 圆角弧度
     */
    fun loadRoundCornerImg(
        context: Context?,
        url: String?,
        imageView: ImageView?,
        placeHolder: Int,
        errorHolder: Int,
        dp: Int
    )

    /**
     * 加载网络 不同圆角图片（有默认图）
     * @param context
     * @param url
     * @param imageView
     * @param placeHolder
     * @param errorHolder
     * @param leftTopRadius
     * @param rightTopRadius
     * @param leftBottomRadius
     * @param rightBottomRadius
     */
    fun loadRoundCornerImg(
        context: Context?,
        url: String?,
        imageView: ImageView?,
        placeHolder: Int,
        errorHolder: Int,
        leftTopRadius: Int,
        rightTopRadius: Int,
        leftBottomRadius: Int,
        rightBottomRadius: Int
    )

    /**
     * 加载网络 圆形图片
     */
    fun loadCircleImage(context: Context?, url: String?, imageView: ImageView?)

    /**
     * 加载本地 圆形图片
     */
    fun loadCircleImage(context: Context?, url: Int, imageView: ImageView?)

    /**
     * 加载网络 圆形图片（有默认图）
     */
    fun loadCircleImage(
        context: Context?,
        url: String?,
        imageView: ImageView?,
        placeholder: Int,
        errorholder: Int
    )

    /**
     * 加载本地 圆形图片（有默认图）
     */
    fun loadCircleImage(
        context: Context?,
        layoutId: Int,
        imageView: ImageView?,
        placeholder: Int,
        errorholder: Int
    )
}